home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 3 / Info_Mac_1994-01.iso / Development / Source / MultiSession 1.04 Source / Core 27⁄June⁄1993 / Compatibility.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-27  |  2.1 KB  |  69 lines  |  [TEXT/KAHL]

  1. /* Compatibility.c */
  2.  
  3. #define COMPILING_COMPATIBILITY_C
  4. #include "Compatibility.h"
  5. #include "GestaltEqu.h"
  6. #include "Traps.h"
  7.  
  8.  
  9. CompatibleRec    Compatibility;
  10.  
  11.  
  12. /* since this code is called by Main, we should do this: */
  13. #if __option(mc68020)
  14.     #define CodeFor68020
  15. #else
  16.     #define CodeFor68000
  17. #endif
  18. #pragma options(!mc68020)
  19.  
  20.  
  21. void        InitCompatibility(void)
  22.     {
  23.         OSErr        Error;
  24.         long        Result;
  25.  
  26.         Error = Gestalt(gestaltAppleEventsAttr,&Result);
  27.         HasAppleEvents = ((Result & (1 << gestaltAppleEventsPresent)) != 0) && (Error == noErr);
  28.  
  29.         Error = Gestalt(gestaltFPUType,&Result);
  30.         HasMathCoprocessor = (Result != gestaltNoFPU) && (Error == noErr);
  31.  
  32.         Error = Gestalt(gestaltVMAttr,&Result);
  33.         HasVirtualMemory = ((Result & (1 << gestaltVMPresent)) != 0) && (Error == noErr);
  34.  
  35.         Error = Gestalt(gestaltOSAttr,&Result);
  36.         HasGoodTemporaryMemory = ((Result & (1 << gestaltTempMemSupport)) != 0)
  37.             && ((Result & (1 << gestaltRealTempMemory)) != 0)
  38.             && ((Result & (1 << gestaltTempMemTracked)) != 0) && (Error == noErr);
  39.  
  40.         Error = Gestalt(gestaltProcessorType,&Result);
  41.         Has020orBetter = (Result >= gestalt68020) && (Error == noErr);
  42.  
  43.         Error = Gestalt(gestaltStandardFileAttr,&Result);
  44.         HasFSSpecStandardFile = ((Result & (1 << gestaltStandardFile58)) != 0) && (Error == noErr);
  45.  
  46.         Error = Gestalt(gestaltFSAttr,&Result);
  47.         HasFSSpec = ((Result & (1 << gestaltHasFSSpecCalls)) != 0) && (Error == noErr);
  48.  
  49.         Error = Gestalt(gestaltFindFolderAttr,&Result);
  50.         HasFindFolder = ((Result & (1 << gestaltFindFolderPresent)) != 0) && (Error == noErr);
  51.  
  52.         Error = Gestalt(gestaltQuickdrawFeatures,&Result);
  53.         HasGreyishTextOr = ((Result & (1 << gestaltHasGrayishTextOr)) != 0) && (Error == noErr);
  54.  
  55.         Error = Gestalt(gestaltAliasMgrAttr,&Result);
  56.         HasAliasManager = ((Result & (1 << gestaltAliasMgrPresent)) != 0) && (Error == noErr);
  57.  
  58.         Error = Gestalt(gestaltHelpMgrAttr,&Result);
  59.         HasHelpManager = ((Result & (1 << gestaltHelpMgrPresent)) != 0) && (Error == noErr);
  60.  
  61.         Error = Gestalt(gestaltPowerMgrAttr,&Result);
  62.         HasPowerManager = ((Result & (1 << gestaltPMgrExists)) != 0) && (Error == noErr);
  63.     }
  64.  
  65.  
  66. #ifdef CodeFor68020
  67.     #pragma options(mc68020)
  68. #endif
  69.